1. Field of the Invention
The present invention relates to a method for programming and diagnosis of a memory-programmable controller (SPS).
2. Description of the Prior Art
Such controllers are used in automation, in order to control method sequences in machines and systems or to trigger individual drives of these systems. More precisely, the present invention can be employed in the context of engineering of automation devices or combinations that include a memory-programmable controller. In the programming of such controllers, it is known to make a certain error search mode (debugging mode) available, in which inputs and outputs are displayed as numerical values by means of a so-called online status display, but without reference to the logical function of the function components. Thus only a display of numerical values is possible, but not a processed display of the functionality or an overview.
For programming such SPS controllers, in the prior art SPS programming systems are used. Often, the programming of memory-programmable controllers is done by means of programming languages in accordance with IEC 61131-3 (for instance by means of ST: Structured Text, FUP: Function Plan, KOP: Contact Plan, etc.). Thus in the prior art as well, SPS programming is very flexible, and thus essentially arbitrary sequences can also be controlled.
SPS programming systems known from the prior art typically have a user surface with the aid of which SPS programs and SPS function components can be set up in various languages or dialects. It is usual to instantiate these function components, which means that each function component when it is used like a variable must be declared and defined individually and separately.
As noted above, for diagnosis of the set-up programs and function components, the debugging mode is available, with the aid of which, in the context of the programming surface, the status of SPS variables can be visually displayed. This is done with the aid of a status display, which is variable in its appearance, depending on the programming language used.
It is also conventional for the SPS programs and function components to be broken down into a declaration part and an implementation part; in the declaration part, the SPS variables and function component instances are instantiated (data), and in the implementation part, the functionality is written as dedicated code (logic). The term “instantiation” is understood to mean defining or producing the various variables and the instances.
In the context of the debugging mode mentioned, within the programming system, values of SPS variables can be read, altered, and forced (compelled). The term “forcing” is understood to mean the permanent setting of a variable at a predeterminable value. Moreover, the aforementioned status display, in the context of a function component, also makes it possible to represent internal function component values which cannot be called up outside the function component. For instance, internal states of a function component can be displayed.
From German Patent Application DE 10 2007 062 453.2, as yet unpublished, a method is known for programming and/or diagnosis of a memory-programmable controller. In it, outcomes during a programming mode are output via a display device, and the information exchange sequences used for the programming are available as predefined information exchange sequences of a memory-programmable function component. Thus DE 10 2007 062 453.2 describes a capability of displaying a dialogue-based support in SPS programming as well as optimization of program parameters. The subject of DE 10 2007 062 453.2, filed in the German Patent and Trademark Office by the present Applicant on Dec. 22, 2007, is hereby incorporated in its entirety by reference in the subject of the present patent application as well.
In the case of DE 10 2007 062 453.2, however, the problem sometimes occurs that programming in the offline mode, for instance, is not possible and the SPS variables cannot be changed. It is therefore the object of the present invention to improve the programmability for memory-programmable controllers.